package com.xuecheng.api.learning;

import com.xuecheng.api.learning.model.dto.CourseRecordDTO;
import com.xuecheng.common.domain.page.PageRequestParams;
import com.xuecheng.common.domain.page.PageVO;
import com.xuecheng.common.domain.response.RestResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;

/**
 * <p></p>
 *
 * @Description:
 */
@Api(value = "学习记录api文档",tags = "学习记录Api接口文档信息")
public interface CourseRecordApi {


    @ApiOperation("根据课程发布id获得学习记录")
    CourseRecordDTO getRecordByCoursePubId(Long coursePubId);

    @ApiOperation(value = "查询用户某课程记录(获取某课程学习进度)")
    @ApiImplicitParam(name = "coursePubId", value = "课程发布Id", required = true, paramType = "path", example = "1")
    CourseRecordDTO getCourseRecordByCoursePubId(Long coursePubId);
    @ApiOperation("支付后创建用户学习记录")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "username",value = "购课人账号",required = true,dataType = "String",paramType = "path"),
            @ApiImplicitParam(name = "coursePubId",value = "课程发布Id",required = true,dataType = "Long",paramType = "path")
    })
    RestResponse<CourseRecordDTO> createCourseRecord4s(String username, Long coursePubId);
    @ApiOperation(value = "查询用户课程记录列表(我的选课信息列表)")
    PageVO<CourseRecordDTO> queryCourseRecordList(PageRequestParams pageParams);
}
